package com.example.mapper;

import com.example.entity.User;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface UserMapper {
    // 任务一：查询用户及角色（保持原有方法名，兼容Service层）
    User selectUserWithRoles(String loginname);

    // 任务一：分页查询用户及角色（新增方法，支持分页）
    Page<User> selectUsersWithRoles(String loginname);

    // 按ID查询单个用户及角色
    User selectUserWithRolesById(Long id);

    // 任务三：多条件查询用户及权限（分页）
    Page<User> selectUsersWithRolesAndMenus(
            @Param("loginname") String loginname,
            @Param("email") String email,
            @Param("status") Integer status
    );
}